use napi_derive_ohos::napi;
use sha2::{Digest, Sha256}; // 从 sha2 crate 引入 Digest trait 和 Sha256 实现

/// 内部函数：对输入字符串计算 SHA-256 哈希值
fn create_hash(input: &str) -> String {
    let mut hasher = Sha256::new();       // 创建新的哈希器
    hasher.update(input.as_bytes());      // 更新输入内容
    let result = hasher.finalize();       // 获取最终哈希结果
    hex::encode(result)                   // 转换为十六进制字符串
}

/// 导出函数：供ArkTS调用
#[napi]
pub fn sha256_hash(input: String) -> String {
    create_hash(&input)
}

